package days3.middle.title55;

/**
 *
 * 今天刷到这个题有感而发，想长篇大作一番。
 * 题目是每个元素代表该位置可以跳到的最大长度，
 * 游戏胜利的目标只有一个那就是到达终点。
 * 人生不就是这样吗，当数组中只有一个元素的时候，
 * 那不就是人生来就在终点吗，也就是有些人生来就在罗马，
 * 当一个数组第一个元素为0的时候这个人也许永远无法到达终点。
 * 我们可以选择一步一个脚印，积跬步至江海，也可以选择多跨几步，当
 * 然你要为你的选择付出代价且无法回头，柳青曾给路遥的小说《人生》写评，
 * 大致意思是人生虽然很漫长但是你年轻时候的重大选择非常重要，
 * 会决定你一段时间甚至一生的人生走向，这个题不就把我们的人生体现的淋漓尽致吗，我们的人生道路上可能会遇到各种困难(比如这个题中的0的数量多少) ，
 * 你在做选择的时候可以选择多跨几步，
 * 也可以选择发个时可就加你做造择洗择做的好可能可以绕过前路的一些障碍，
 * 不然可能会被前路的困难所打倒 (再也走不动了，无法到达终点)，
 * 人生中就是一个又一个选择组成的，同时每做一个选择就必须要承担做这个选择而带来的后果。
 * 很少有人会一帆风顺 (这里的一帆风顺就是数组中没有0-即没有障碍同时每个人的节奏是不同的，也许有的人跑的快，有些人走的慢，但请做好人生中的每一个选择，乐观面对生活，我们终将到达自己想要得终点。
 *
 * 下面分为几种情况: 1.有些人生来就在罗马-也就是数组中只有一个元素 2.有些人出生就注定无法到底罗马-数组中第一个元素为0 3.
 * 到达某一步的时候我们的人生可以做选择，比如当这个元素为3时，我可以选择走一步，可以选择走两步，也可以选择走三步，
 * 但是我们要为自己的选择付出代价（也许你认为走3步更快但其实走3步后就遇到了0），所以不是越快越好，有时候慢慢来比较快，不积跬步无以至千里，
 * 但是有时你慢慢来也许不如别人走的快的走的顺利。
 * @Author fengzihao
 * @Date 2024-04-17 20:19
 */
public class Solution {
    public boolean canJump(int[] nums) {
        boolean Result = false;
        int LastIndex = nums.length - 1;
        for (int i = nums.length - 2; i >= 0; i--) {
            if (nums[i] >= LastIndex - i) LastIndex = i;
        }
        if (LastIndex == 0)
            Result = true;
        return Result;
    }
}
